home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / CIncludes / GXFonts.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  10.3 KB  |  344 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        GXFonts.h
  3.  
  4.      Contains:    QuickDraw GX font routine interfaces.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __GXFONTS__
  18. #define __GXFONTS__
  19.  
  20. #ifndef __CONDITIONALMACROS__
  21. #include <ConditionalMacros.h>
  22. #endif
  23. #ifndef __GXMATH__
  24. #include <GXMath.h>
  25. #endif
  26. #ifndef __GXTYPES__
  27. #include <GXTypes.h>
  28. #endif
  29. #ifndef __SCALERSTREAMTYPES__
  30. #include <ScalerStreamTypes.h>
  31. #endif
  32.  
  33.  
  34.  
  35. #if PRAGMA_ONCE
  36. #pragma once
  37. #endif
  38.  
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42.  
  43. #if PRAGMA_IMPORT
  44. #pragma import on
  45. #endif
  46.  
  47. #if PRAGMA_STRUCT_ALIGN
  48.     #pragma options align=mac68k
  49. #elif PRAGMA_STRUCT_PACKPUSH
  50.     #pragma pack(push, 2)
  51. #elif PRAGMA_STRUCT_PACK
  52.     #pragma pack(2)
  53. #endif
  54.  
  55. #if defined(__MWERKS__) && TARGET_CPU_68K
  56.     #pragma push
  57.     #pragma pointers_in_D0
  58. #endif
  59.  
  60. EXTERN_API_C( gxFont )
  61. GXNewFont                        (gxFontStorageTag         storage,
  62.                                  gxFontStorageReference  reference,
  63.                                  gxFontAttribute         attributes)                            THREEWORDINLINE(0x303C, 0x0201, 0xA832);
  64.  
  65. EXTERN_API_C( gxFontStorageTag )
  66. GXGetFont                        (gxFont                 fontID,
  67.                                  gxFontStorageReference * reference,
  68.                                  gxFontAttribute *        attributes)                            THREEWORDINLINE(0x303C, 0x0202, 0xA832);
  69.  
  70. EXTERN_API_C( gxFont )
  71. GXFindFont                        (gxFontStorageTag         storage,
  72.                                  gxFontStorageReference  reference,
  73.                                  gxFontAttribute *        attributes)                            THREEWORDINLINE(0x303C, 0x0203, 0xA832);
  74.  
  75. EXTERN_API_C( void )
  76. GXSetFont                        (gxFont                 fontID,
  77.                                  gxFontStorageTag         storage,
  78.                                  gxFontStorageReference  reference,
  79.                                  gxFontAttribute         attributes)                            THREEWORDINLINE(0x303C, 0x0204, 0xA832);
  80.  
  81. EXTERN_API_C( void )
  82. GXDisposeFont                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0205, 0xA832);
  83.  
  84. EXTERN_API_C( void )
  85. GXChangedFont                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0206, 0xA832);
  86.  
  87. EXTERN_API_C( gxFontFormatTag )
  88. GXGetFontFormat                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0207, 0xA832);
  89.  
  90. EXTERN_API_C( gxFont )
  91. GXGetDefaultFont                (void)                                                        THREEWORDINLINE(0x303C, 0x0208, 0xA832);
  92.  
  93. EXTERN_API_C( gxFont )
  94. GXSetDefaultFont                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0209, 0xA832);
  95.  
  96. EXTERN_API_C( long )
  97. GXFindFonts                        (gxFont                 familyID,
  98.                                  gxFontName             name,
  99.                                  gxFontPlatform         platform,
  100.                                  gxFontScript             script,
  101.                                  gxFontLanguage         language,
  102.                                  long                     length,
  103.                                  const unsigned char     text[],
  104.                                  long                     index,
  105.                                  long                     count,
  106.                                  gxFont                 fonts[])                                THREEWORDINLINE(0x303C, 0x020A, 0xA832);
  107.  
  108. EXTERN_API_C( long )
  109. GXCountFontGlyphs                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x020B, 0xA832);
  110.  
  111. EXTERN_API_C( long )
  112. GXCountFontTables                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x020C, 0xA832);
  113.  
  114. EXTERN_API_C( long )
  115. GXGetFontTable                    (gxFont                 fontID,
  116.                                  long                     index,
  117.                                  void *                    tableData,
  118.                                  gxFontTableTag *        tableTag)                            THREEWORDINLINE(0x303C, 0x020D, 0xA832);
  119.  
  120. EXTERN_API_C( long )
  121. GXFindFontTable                    (gxFont                 fontID,
  122.                                  gxFontTableTag         tableTag,
  123.                                  void *                    tableData,
  124.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x020E, 0xA832);
  125.  
  126. EXTERN_API_C( long )
  127. GXGetFontTableParts                (gxFont                 fontID,
  128.                                  long                     index,
  129.                                  long                     offset,
  130.                                  long                     length,
  131.                                  void *                    tableData,
  132.                                  gxFontTableTag *        tableTag)                            THREEWORDINLINE(0x303C, 0x020F, 0xA832);
  133.  
  134. EXTERN_API_C( long )
  135. GXFindFontTableParts            (gxFont                 fontID,
  136.                                  gxFontTableTag         tableTag,
  137.                                  long                     offset,
  138.                                  long                     length,
  139.                                  void *                    tableData,
  140.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x0210, 0xA832);
  141.  
  142. EXTERN_API_C( long )
  143. GXSetFontTable                    (gxFont                 fontID,
  144.                                  long                     index,
  145.                                  gxFontTableTag         tableTag,
  146.                                  long                     length,
  147.                                  const void *            tableData)                            THREEWORDINLINE(0x303C, 0x0211, 0xA832);
  148.  
  149. EXTERN_API_C( long )
  150. GXSetFontTableParts                (gxFont                 fontID,
  151.                                  long                     index,
  152.                                  gxFontTableTag         tableTag,
  153.                                  long                     offset,
  154.                                  long                     oldLength,
  155.                                  long                     newLength,
  156.                                  const void *            tableData)                            THREEWORDINLINE(0x303C, 0x0212, 0xA832);
  157.  
  158. EXTERN_API_C( long )
  159. GXDeleteFontTable                (gxFont                 fontID,
  160.                                  long                     index,
  161.                                  gxFontTableTag         tableTag)                            THREEWORDINLINE(0x303C, 0x0213, 0xA832);
  162.  
  163. EXTERN_API_C( long )
  164. GXCountFontNames                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0214, 0xA832);
  165.  
  166. EXTERN_API_C( long )
  167. GXGetFontName                    (gxFont                 fontID,
  168.                                  long                     index,
  169.                                  gxFontName *            name,
  170.                                  gxFontPlatform *        platform,
  171.                                  gxFontScript *            script,
  172.                                  gxFontLanguage *        language,
  173.                                  unsigned char             text[])                                THREEWORDINLINE(0x303C, 0x0215, 0xA832);
  174.  
  175. EXTERN_API_C( long )
  176. GXFindFontName                    (gxFont                 fontID,
  177.                                  gxFontName             name,
  178.                                  gxFontPlatform         platform,
  179.                                  gxFontScript             script,
  180.                                  gxFontLanguage         language,
  181.                                  unsigned char             text[],
  182.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x0216, 0xA832);
  183.  
  184. EXTERN_API_C( long )
  185. GXSetFontName                    (gxFont                 fontID,
  186.                                  gxFontName             name,
  187.                                  gxFontPlatform         platform,
  188.                                  gxFontScript             script,
  189.                                  gxFontLanguage         language,
  190.                                  long                     length,
  191.                                  const unsigned char     text[])                                THREEWORDINLINE(0x303C, 0x0217, 0xA832);
  192.  
  193. EXTERN_API_C( long )
  194. GXDeleteFontName                (gxFont                 fontID,
  195.                                  long                     index,
  196.                                  gxFontName             name,
  197.                                  gxFontPlatform         platform,
  198.                                  gxFontScript             script,
  199.                                  gxFontLanguage         language)                            THREEWORDINLINE(0x303C, 0x0218, 0xA832);
  200.  
  201. EXTERN_API_C( gxFontName )
  202. GXNewFontNameID                    (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0219, 0xA832);
  203.  
  204. EXTERN_API_C( long )
  205. GXCountFontEncodings            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x021A, 0xA832);
  206.  
  207. EXTERN_API_C( gxFontPlatform )
  208. GXGetFontEncoding                (gxFont                 fontID,
  209.                                  long                     index,
  210.                                  gxFontScript *            script,
  211.                                  gxFontLanguage *        language)                            THREEWORDINLINE(0x303C, 0x021B, 0xA832);
  212.  
  213. EXTERN_API_C( long )
  214. GXFindFontEncoding                (gxFont                 fontID,
  215.                                  gxFontPlatform         platform,
  216.                                  gxFontScript             script,
  217.                                  gxFontLanguage         language)                            THREEWORDINLINE(0x303C, 0x021C, 0xA832);
  218.  
  219. EXTERN_API_C( long )
  220. GXApplyFontEncoding                (gxFont                 fontID,
  221.                                  long                     index,
  222.                                  long *                    length,
  223.                                  const unsigned char     text[],
  224.                                  long                     count,
  225.                                  unsigned short         glyphs[],
  226.                                  char                     was16Bit[])                            THREEWORDINLINE(0x303C, 0x021D, 0xA832);
  227.  
  228. EXTERN_API_C( long )
  229. GXCountFontVariations            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x021E, 0xA832);
  230.  
  231. EXTERN_API_C( long )
  232. GXFindFontVariation                (gxFont                 fontID,
  233.                                  gxFontVariationTag     variationTag,
  234.                                  Fixed *                minValue,
  235.                                  Fixed *                defaultValue,
  236.                                  Fixed *                maxValue,
  237.                                  gxFontName *            name)                                THREEWORDINLINE(0x303C, 0x021F, 0xA832);
  238.  
  239. EXTERN_API_C( gxFontVariationTag )
  240. GXGetFontVariation                (gxFont                 fontID,
  241.                                  long                     index,
  242.                                  Fixed *                minValue,
  243.                                  Fixed *                defaultValue,
  244.                                  Fixed *                maxValue,
  245.                                  gxFontName *            name)                                THREEWORDINLINE(0x303C, 0x0220, 0xA832);
  246.  
  247. EXTERN_API_C( long )
  248. GXCountFontInstances            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0221, 0xA832);
  249.  
  250. EXTERN_API_C( gxFontName )
  251. GXGetFontInstance                (gxFont                 fontID,
  252.                                  long                     index,
  253.                                  gxFontVariation         variation[])                            THREEWORDINLINE(0x303C, 0x0222, 0xA832);
  254.  
  255. EXTERN_API_C( long )
  256. GXSetFontInstance                (gxFont                 fontID,
  257.                                  long                     index,
  258.                                  gxFontName             name,
  259.                                  const gxFontVariation     variation[])                            THREEWORDINLINE(0x303C, 0x0223, 0xA832);
  260.  
  261. EXTERN_API_C( long )
  262. GXDeleteFontInstance            (gxFont                 fontID,
  263.                                  long                     index,
  264.                                  gxFontName             name)                                THREEWORDINLINE(0x303C, 0x0224, 0xA832);
  265.  
  266. EXTERN_API_C( long )
  267. GXCountFontDescriptors            (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x0225, 0xA832);
  268.  
  269. EXTERN_API_C( gxFontDescriptorTag )
  270. GXGetFontDescriptor                (gxFont                 fontID,
  271.                                  long                     index,
  272.                                  Fixed *                descriptorValue)                    THREEWORDINLINE(0x303C, 0x0226, 0xA832);
  273.  
  274. EXTERN_API_C( long )
  275. GXFindFontDescriptor            (gxFont                 fontID,
  276.                                  gxFontDescriptorTag     descriptorTag,
  277.                                  Fixed *                descriptorValue)                    THREEWORDINLINE(0x303C, 0x0227, 0xA832);
  278.  
  279. EXTERN_API_C( long )
  280. GXSetFontDescriptor                (gxFont                 fontID,
  281.                                  long                     index,
  282.                                  gxFontDescriptorTag     descriptorTag,
  283.                                  Fixed                     descriptorValue)                    THREEWORDINLINE(0x303C, 0x0228, 0xA832);
  284.  
  285. EXTERN_API_C( long )
  286. GXDeleteFontDescriptor            (gxFont                 fontID,
  287.                                  long                     index,
  288.                                  gxFontDescriptorTag     descriptorTag)                        THREEWORDINLINE(0x303C, 0x0229, 0xA832);
  289.  
  290. EXTERN_API_C( long )
  291. GXCountFontFeatures                (gxFont                 fontID)                                THREEWORDINLINE(0x303C, 0x022A, 0xA832);
  292.  
  293. EXTERN_API_C( gxFontName )
  294. GXGetFontFeature                (gxFont                 fontID,
  295.                                  long                     index,
  296.                                  gxFontFeatureFlag *    flags,
  297.                                  long *                    settingCount,
  298.                                  gxFontFeatureSetting     settings[],
  299.                                  gxFontFeature *        feature)                            THREEWORDINLINE(0x303C, 0x022B, 0xA832);
  300.  
  301. EXTERN_API_C( gxFontName )
  302. GXFindFontFeature                (gxFont                 fontID,
  303.                                  gxFontFeature             feature,
  304.                                  gxFontFeatureFlag *    flags,
  305.                                  long *                    settingCount,
  306.                                  gxFontFeatureSetting     settings[],
  307.                                  long *                    index)                                THREEWORDINLINE(0x303C, 0x022C, 0xA832);
  308.  
  309. EXTERN_API_C( long )
  310. GXGetFontDefaultFeatures        (gxFont                 fontID,
  311.                                  gxRunFeature             features[])                            THREEWORDINLINE(0x303C, 0x0274, 0xA832);
  312.  
  313. EXTERN_API_C( void )
  314. GXFlattenFont                    (gxFont                 source,
  315.                                  scalerStream *            stream,
  316.                                  gxSpoolBlock *            block)                                THREEWORDINLINE(0x303C, 0x022D, 0xA832);
  317.  
  318.  
  319.  
  320. #if defined(__MWERKS__) && TARGET_CPU_68K
  321.     #pragma pop
  322. #endif
  323.  
  324. #if PRAGMA_STRUCT_ALIGN
  325.     #pragma options align=reset
  326. #elif PRAGMA_STRUCT_PACKPUSH
  327.     #pragma pack(pop)
  328. #elif PRAGMA_STRUCT_PACK
  329.     #pragma pack()
  330. #endif
  331.  
  332. #ifdef PRAGMA_IMPORT_OFF
  333. #pragma import off
  334. #elif PRAGMA_IMPORT
  335. #pragma import reset
  336. #endif
  337.  
  338. #ifdef __cplusplus
  339. }
  340. #endif
  341.  
  342. #endif /* __GXFONTS__ */
  343.  
  344.